package com.br.fornecedo;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;

@ManagedBean(name = "fornecedoBean")
@RequestScoped
public class FornecedoBean {
	
	 private List<SelectItem> fornecedoSelect;

     private Fornecedo fornecedo = new Fornecedo();

     public Fornecedo getFornecedo() {
             return fornecedo;
     }

     private List<Fornecedo> lista = null;

     public List<Fornecedo> getLista() {

             if (lista == null) {
                     FornecedoRN fornecedoRN = new FornecedoRN();
                     this.lista = fornecedoRN.listar();
             }
             return this.lista;
     }

     public void setFornecedo(Fornecedo fornecedo) {
             this.fornecedo = fornecedo;
     }

     public void salvar() {

             FornecedoRN fornecedoRN = new FornecedoRN();

             fornecedoRN.salvar(this.fornecedo);

     }

     public String novo() {

             this.fornecedo = new Fornecedo();

             this.fornecedo.setFlagAtiva(true);

             return "fornecedo";
     }

     public void excluir() {
             FornecedoRN fornecedoRN = new FornecedoRN();
             fornecedoRN.excluir(this.fornecedo);
             this.lista = null;

     }

     public String editar() {

             return "fornecedo";
     }

     public String ativar() {

             if (this.fornecedo.isFlagAtiva())

                     this.fornecedo.setFlagAtiva(false);

             else
                     this.fornecedo.setFlagAtiva(true);
             FornecedoRN fornecedoRN = new FornecedoRN();
             fornecedoRN.salvar(this.fornecedo);

             return null;
     }

     public List<SelectItem> getFornecedoSelect() {
             if (fornecedoSelect == null) {

                     fornecedoSelect = new ArrayList<SelectItem>();
                     FornecedoRN fornecedoRN = new FornecedoRN();
                     List<Fornecedo> listaFornecedo = fornecedoRN.listar();

                     if (listaFornecedo != null && !listaFornecedo.isEmpty()) {
                             SelectItem item;
                             for (Fornecedo fornecedoLista : listaFornecedo) {
                                     item = new SelectItem(fornecedoLista.getNome(),fornecedoLista.getNome());
                                     fornecedoSelect.add(item);
                             }
                     }

             }

             return fornecedoSelect;
     }

     public void setFornecedoSelect(List<SelectItem> fornecedoSelect) {
             this.fornecedoSelect = fornecedoSelect;
     }

}
